package com.yonder.service.impl;


import com.yonder.dao.CheckGroupDao;
import com.yonder.pojo.CheckGroup;
import com.yonder.service.CheckGroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @ClassName CheckGroupServiceImpl
 * @Description TODO
 * @Author zxs
 * @Date 2021/3/20 19:33
 * Version 1.0
 */

@Service
@Transactional
public class CheckGroupServiceImpl implements CheckGroupService {

    @Autowired
    private CheckGroupDao checkGroupDao;

    /*
    *
    * 添加检查组
    * */
    @Override
    public void add(CheckGroup checkGroup, Integer[] checkitemIds) {
        checkGroupDao.add(checkGroup);
        Integer  groupId= checkGroup.getId();
        setCheckGroupAndCheckItem(checkitemIds,groupId);

    }

        /*
        * 删除检查组
        * */
    @Override
    public void deleteGroup(Integer checkGroupId) {
        /*
        * 因为检查组对于检查项来说，是一对多，所有存在一个关系表表示检查组和检查项的关系
        * 要delete检查组t_checkgroup的记录就必须先清理关系表里数据t_checkgroup_checkitem
        * 所有需要先清理t_checkgroup_checkitem里的数据，再能清理t_checkgroup里的数据
        * */
//        checkGroupDao.deleteGroup(checkGroupId);
//        checkGroupDao.deleteGroupCheckitem(checkGroupId);
    }

    @Override
    public List<CheckGroup> findAllGroup() {
        return checkGroupDao.findAllGroup();
    }

    void setCheckGroupAndCheckItem(Integer[] checkitemIds,Integer groupId ){
        for (Integer checkitemId : checkitemIds) {
            checkGroupDao.setCheckGroupAndCheckItem(checkitemId,groupId);
        }

    }
}
